.\"   $Id: upVarBdd.3,v 1.1 2002/04/03 13:13:26 ludo Exp $
.\" @(#)upVarBdd.2 7.01 92/08/22 ; Labo masi cao-vlsi; Author : Luc Burgun
.TH UPVARBDD 3 "October 1, 1997" "ASIM/LIP6" "BDD functions"
.so man1/alc_origin.1
.SH NAME
\fBupVarBdd\fP \- brings up an index in a BDD 
.SH SYNOPSIS
.nf
#include "logmmm.h"
pNode upVarBdd(pBdd,oldIndex,newIndex)
pNode pBdd;
short oldIndex,newIndex;
.fi
.SH PARAMETERS
.TP 20
\fIpBdd\fP
BDD in which \fIindex\fP is came up
.TP 20
\fIoldIndex\fP
index to come up
.TP 20
\fInewIndex\fP
new index
.SH DESCRIPTION
\fBupVarBdd()\fP constructs a graph obtained by bringing up \fIoldIndex\fP to \fInewIndex\fP. This function is called by the BDDs reordering function.
.SH EXAMPLE
.nf
#include "mutnnn.h"		/* mbk utilities */
#include "logmmm.h"
pNode nodeA,nodeB;
pNode res;

initializeBdd(SMALL_BDD);
nodeA = createNodeTermBdd(3);
nodeB = createNodeTermBdd(3);
res = applyBinBdd(OR,nodeA,nodeB);	/* res = (OR a b)
res = upVarBdd(res,2,4);
displayBdd(res,1);

/* it will display 
@res     INDEX 4    LOW = @nodeB     HIGH = ONE 
@nodeB   INDEX 3    LOW = ZERO       HIGH = ONE 
*/
	
destroyBdd(1);
.fi
.SH ERROR
"upVarBdd : error - newIndex <= oldIndex"
.br
The new index must be higher than the old index.
.SH SEE ALSO
.BR log (1),
.BR bdd (1),
.BR applyBdd (3),
.BR notBdd (3),
.BR constraintBdd (3),
.BR composeBdd (3),
.BR applyBinBdd (3),
.BR addListBdd (3),
.BR displayBdd (3),
.BR createNodeTermBdd (3).

.so man1/alc_bug_report.1

